Data generation method and apparatus, and storage medium

ABSTRACT

The present disclosure discloses a data generation method and apparatus, and a computer-readable storage medium, the method including: importing a robot model by using a game engine; simulating a Red-Green-Blue Depth (RGBD) camera by a scene capture component in the game engine; controlling a human hand of the imported robot model to move within a field of view of the RGBD camera by using a joint control module in the game engine; acquiring RGBD image data by using the RGBD camera; and generating an annotated data set with coordinates of 21 key points according to the RGBD image data and coordinate information of a 3D pose of the 21 key points.

This application is a continuation of International Application No.PCT/CN2021/119393, filed on Sep. 18, 2021, the disclosure of which ishereby incorporated by reference in its entirety.

FIELD

The present disclosure relates to the technical field of artificialintelligence, and more particularly to a data generation method andapparatus, and a computer-readable storage medium.

BACKGROUND

At present, machine learning and in-depth learning are widely applied inall aspects of society, especially in the field of robots. High-qualitydata sets allow the algorithm to maximize performance and achieve thebest results. However, the generation of data sets is a relativelytedious process. Generally, the number of data sets is relatively large(in the unit of ten thousand), and annotating data sets is relativelytedious. Many data sets still need to be manually annotated. Inaddition, the acquisition of some data is inconvenient. For example, itis necessary to resort to additional sensors and other devices toacquire some 3D poses in practical situations.

SUMMARY

In order to solve the problem existing in the information interactionbetween an existing robot device and a user, embodiments of the presentdisclosure creatively provides a data generation method and apparatus,and a computer-readable storage medium.

According to a first aspect of the present disclosure, a data generationmethod is creatively provided, the method including: importing a robotmodel by using a game engine; simulating an RGBD camera by a scenecapture component in the game engine; controlling a human hand of theimported robot model to move within a field of view of the RGBD cameraby using a joint control module in the game engine; acquiring RGBD imagedata by using the RGBD camera; and generating an annotated data set withcoordinates of 21 key points according to the RGBD image data andcoordinate information of a 3D pose of the 21 key points.

According to an embodiment of the present disclosure, the importing arobot model by using a game engine includes: importing every joint of arobot into the game engine in accordance with a joint stacking manneraccording to a robot 3D model.

According to an embodiment of the present disclosure, simulating an RGBDcamera by a scene capture component in the game engine includes:capturing a scene by using a scene capture component to obtain imagedata; rendering the image data to a texture render target; selecting acapture data source to recombine color image data and depth image datain the image data to obtain recombined image data; and performingchannel isolation of color image data and unit unified processing ofdepth image data of the recombined image data so as to simulate an RGBDcamera.

According to an embodiment of the present disclosure, the RGBD imageincludes a 2D color image and a depth image; and generating an annotateddata set with coordinates of 21 key points according to the RGBD imagedata and coordinate information of a 3D pose of the 21 key pointsincludes: transforming coordinates of the 3D pose of the 21 key pointsinto the 2D color image so as to annotate the 2D color image with theposition of every key point; and obtaining depth information of everykey point by using the depth image.

According to an embodiment of the present disclosure, prior totransforming coordinates of the 3D pose of the 21 key points into the 2Dcolor image, the method further includes: transforming coordinates ofthe 3D pose of the 21 key points into coordinates in a coordinate systemof the RGBD camera to obtain relative coordinates of the 21 key points;and associating the RGBD image data with the relative coordinates of the21 key points.

According to a second aspect of the present disclosure, a datageneration apparatus is further provided, the apparatus including: amodel import module configured to import a robot model by using a gameengine; a camera simulation module configured to simulate a RGBD cameraby a scene capture component in the game engine; a joint control moduleconfigured to control a human hand of the imported robot model to movewithin a field of view of the RGBD camera; an image acquisition controlmodule configured to acquire RGBD image data by using the RGBD camera;and a data generation module configured to generate an annotated dataset with coordinates of 21 key points according to the RGBD image dataand coordinate information of a 3D pose of the 21 key points.

According to an embodiment of the present disclosure, the model importmodule is configured to import every joint of a robot into the gameengine in accordance with a joint stacking manner according to a robot3D model.

According to an embodiment of the present disclosure, the camerasimulation module is configured to capture a scene by using a scenecapture component to obtain image data; render the image data to atexture render target; select a capture data source to recombine colorimage data and depth image data in the image data to obtain recombinedimage data; and perform channel isolation of color image data and unitunified processing of depth image data of the recombined image data soas to simulate an RGBD camera.

According to an embodiment of the present disclosure, the RGBD imageincludes a 2D color image and a depth image; and the data generationmodule is configured to transform coordinates of the 3D pose of the 21key points into the 2D color image so as to annotate the 2D color imagewith the position of every key point; and obtain depth information ofevery key point by using the depth image.

According to an embodiment of the present disclosure, the datageneration module is further configured to, prior to transformingcoordinates of the 3D pose of the 21 key points into the 2D color image,transform the coordinates of the 3D pose of the 21 key points intocoordinates in a coordinate system of the RGBD camera to obtain relativecoordinates of the 21 key points; and associate the RGBD image data withthe relative coordinates of the 21 key points.

According to a third aspect of the present disclosure, a data generationapparatus is also provided, including: one or more processors; a memoryconfigured to store one or more programs which, when executed by the oneor more processors, cause the one or more processors to perform any ofthe data generation methods described above.

According to a fourth aspect of the present disclosure, acomputer-readable storage medium is also provided, the storage mediumincluding a set of computer-executable instructions for performing anyof the data generation methods described above when the instructions areexecuted.

In the data generation method and apparatus, and the computer-readablestorage medium of the embodiments of the present disclosure, firstly, agame engine is used to import a robot model; then an RGBD camera issimulated by a scene capture component in the game engine; then a humanhand of the imported robot model is controlled to move within a field ofview of the RGBD camera by using a joint control module in the gameengine so as to acquire RGBD image data; and finally, an annotated dataset with coordinates of the 21 key points is generated according to theRGBD image data and coordinate information of a 3D pose of the 21 keypoints. In this way, according to the present disclosure, a data setcontaining an RGBD image of a robot hand and a 3D pose of 21 key pointson the hand which is difficult to provide in an actual scene isgenerated by a game engine, and the data set with the coordinates of the21 key points may be generated very quickly and accurately, while thegenerated data set has already been annotated. Thus, a data setincluding tens of thousands of images, which would otherwise take daysor even weeks to generate, may be completed in half a day, greatlyimproving efficiency. In addition, the generated simulation data set maybe used to verify the performance of the learning algorithm, and thehigh degree of restoration modeling of the game engine also makes thedata set generated in the simulation have application value in theactual scene.

It is to be understood that the teachings of the present disclosure donot necessarily achieve all of the benefits described above, thatparticular embodiments may achieve particular benefits, and that otherembodiments of the present disclosure may also achieve benefits notdescribed above.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other objects, features and advantages of exemplaryembodiments of the present disclosure will become readily apparent fromthe following detailed description when read in connection with thedrawings. Embodiments of the present disclosure are illustrated by wayof example, and not by way of limitation, in the figures of the drawingsand in which:

In the drawings, the same or corresponding reference numerals designatethe same or corresponding parts.

FIG. 1 shows a flowchart illustrating the implementation of a datageneration method according to an embodiment of the present disclosure;

FIG. 2 shows a display effect diagram of positions of 21 key pointsaccording to an application example of the present disclosure;

FIG. 3 shows a scene effect diagram of annotated data generatedaccording to an application example of the present disclosure;

FIG. 4 shows a schematic diagram illustrating a composition structure ofa data generation apparatus according to an embodiment of the presentdisclosure; and

FIG. 5 shows a schematic diagram illustrating a composition structure ofan electronic device provided according to an embodiment of the presentdisclosure.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

In order that the objects, features and advantages of the presentdisclosure may be more fully apparent and appreciated, reference willnow be made in detail to the embodiments of the present disclosure, andexamples of which are illustrated in the drawings. It is to beunderstood that the described embodiments are merely illustrative andnot restrictive of the embodiments of the present disclosure. Based onthe embodiments in the present disclosure, all the other embodimentsobtained by persons skilled in the art without making any inventiveeffort fall within the scope of protection of the present disclosure.

Reference in the specification to “one embodiment”, “some embodiments”,“an example”, “a specific example”, or “some examples”, etc. means thata particular feature, structure, material, or characteristic describedin connection with the embodiment or example is included in at least oneembodiment or example of the present disclosure. In addition, theparticular features, structures, materials, or characteristics describedmay be combined in any suitable manner in any one or more embodiments orexamples. Furthermore, combinations and integration of the variousembodiments or examples and features of the various embodiments orexamples described in this specification can be made by those skilled inthe art without departing from the scope of the invention.

Furthermore, the terms “first” and “second” are used for descriptivepurposes only and are not to be construed as indicating or implyingrelative importance or as implicitly indicating the number of technicalfeatures indicated. Thus, a feature defined as “first” or “second” mayexplicitly or implicitly includes at least one of the features. In thedescription of the present disclosure, the meaning of “a plurality” istwo or more, unless specifically and specifically limited otherwise.

FIG. 1 shows a flowchart illustrating the implementation of a datageneration method according to an embodiment of the present disclosure;FIG. 2 shows a display effect diagram of positions of 21 key pointsaccording to an application example of the present disclosure; and FIG.3 shows a scene effect diagram of annotated data generated according toan application example of the present disclosure.

With reference to FIG. 1, an embodiment of the present disclosureprovides a data generation method, including the following steps:

In step 101, a robot model is imported by using a game engine.

In particular, the electronic device imports the robot model by using agame engine (Unreal Engine 4, UE4). The UE4 game engine may guarantee ahigh degree of restoration of the imported robot model and the realrobot.

Here, the electronic device may be any form of intelligent deviceequipped with a game engine.

In step 102, an RGBD camera is simulated by a scene capture component inthe game engine.

In particular, the electronic device captures a scene by using the scenecapture component to obtain image data; the image data is rendered to atexture render target; color image data and depth image data in theimage data are recombined to obtain recombined image data by selecting acapture data source; and channel isolation of color image data and unitunified processing of depth image data of the recombined image data areperformed so as to simulate an RGBD camera.

In an application example, the electronic device is provided with acustomed camera module which is developed by using a scene capturecomponent (SceneCaptureComponent 2D) in the UE4 game engine. TheSceneCaptureComponent 2D may capture and render a scene to a texturerender target (TextureRenderTarget 2D), select an appropriate capturedata source (CaptureSource) and reorganize the color and depth data sothat both color and depth image data may be acquired simultaneously byusing the same scene capture component. Then, after reading the imagedata from the rendered object, channel isolation of the color image andunit unification of the depth image are performed, and standard RGBDdata can be obtained. The camera simulation module is particularlysimple in application, and can be directly bound to an actor as aninternal component to send out an RGBD image in real time as an actualcamera does; meanwhile, the camera simulation module supports modifyingthe internal parameters of the camera, and can ensure that the generatedimage is consistent with that generated by an actual camera.

Thus, the electronic device simulates an RGBD camera by the scenecapture component in the game engine. In the RGBD camera model process,the internal parameter matrix of the real camera is used, so that thesimulation data and the image data of the real camera may be consistent.

In step 103, a human hand of the imported robot model is controlled tomove within a field of view of the RGBD camera by using a joint controlmodule in the game engine.

In particular, the electronic device may utilize a joint control modulein the game engine to control a human hand, such as a left hand or aright hand, of the imported robot model to make random motions withinthe field of view of the RGBD camera for acquiring a large number ofavailable data images.

In step 104, RGBD image data is obtained by using the RGBD camera.

Among others, the RGBD image includes a 2D color image and a depthimage.

In step 105, an annotated data set with coordinates of 21 key points isgenerated according to the RGBD image data and coordinate information ofa 3D pose of the 21 key points.

In particular, the electronic device transforms coordinates of the 3Dpose of the 21 key points into the 2D color image to annotate the 2Dcolor image with the position of every key point; and obtain depthinformation of every key point by using the depth image.

Certainly, prior to step 105, the electronic device would obtaincoordinate information of the 3D pose of the 21 key points via the gameengine; transform coordinates of the 3D pose of the 21 key points intocoordinates in a coordinate system of the RGBD camera to obtain relativecoordinates of the 21 key points; and associate the RGBD image data withthe relative coordinates of the 21 key points.

In an application example, with reference to the positions of the 21 keypoints on the left hand of the robot model shown in FIG. 2, everyposition is bound with an empty character, and the game engine mayobtain coordinate information of every empty character in real time.Then, a blueprint is written in the UE4, and the coordinates of the 3Dpose of the 21 key points are transformed into coordinates in acoordinate system of the RGBD camera, and stored in a file in a certainorder. The acquired RGBD image data is associated with the obtainedrelative coordinates of the 21 key points, and the 3D coordinates of the21 key points are transformed into a 2D color image by using theinternal parameter matrix of the camera to annotate the 2D image withthe position of every key point, thereby determining the range of thehand in the image, and achieve the purpose of annotation. As shown inthe following FIG. 3, in the annotated image, the range of the hand iscompletely enclosed by an annotation frame with a specific color, anddepth information of every key point is obtained by using the depthimage.

In the data generation method of the embodiment of the presentdisclosure, firstly, a robot model is imported by using a game engine;then an RGBD camera is stimulated by a scene capture component in thegame engine; then a human hand of the imported robot model is controlledto move within a field of view of the RGBD camera by using a jointcontrol module in the game engine so as to obtain RGBD image data;finally, an annotated data set with coordinates of 21 key points isgenerated according to the RGBD image data and coordinate information ofa 3D pose of the 21 key points. In this way, according to the presentdisclosure, a data set containing an RGBD image of a robot hand and a 3Dpose of 21 key points on the hand which is difficult to provide in anactual scene is generated by a game engine, and the data set with thecoordinates of the 21 key points can be generated very quickly andaccurately, while the generated data set has already been annotated.Thus, a data set including tens of thousands of images, which wouldotherwise take days or even weeks to generate, can be completed in halfa day, greatly improving efficiency. In addition, the generatedsimulation data set can be used to verify the performance of thelearning algorithm, and the high degree of restoration modeling of thegame engine also makes the data set generated in the simulation haveapplication value in the actual scene.

FIG. 4 shows a schematic diagram illustrating the composition structureof a data generation apparatus according to an embodiment of the presentdisclosure.

Referring to FIG. 4, a data generation apparatus 40 according to anembodiment of the present disclosure includes: a model import module 401configured to import a robot model by using a game engine; a camerasimulation module 402 configured to simulate an RGBD camera by a scenecapture component in the game engine; a joint control module 403configured to control a human hand of the imported robot model to movewithin a field of view of the RGBD camera; an image acquisition controlmodule 404 configured to acquire RGBD image data by using the RGBDcamera; and a data generation module 405 configured to generate anannotated data set with coordinates of 21 key points according to theRGBD image data and coordinate information of a 3D pose of the 21 keypoints.

In an embodiment, the model import module 401 is configured to importevery joint of a robot into the game engine in a joint stacking manneraccording to a 3D model of the robot.

In an embodiment, the camera simulation module 402 is configured tocapture a scene by using a scene capture component to obtain image data;render the image data to a texture render target; select a capture datasource to recombine color image data and depth image data in the imagedata to obtain recombined image data; and perform channel isolation ofcolor image data and unit unified processing of depth image data of therecombined image data so as to simulate an RGBD camera.

In an embodiment, the RGBD image includes a 2D color image and a depthimage; and the data generation module 405 is configured to transformcoordinates of the 3D pose of the 21 key points into the 2D color imageto annotate the 2D color image with the position of every key point; andobtain depth information of every key point by using the depth image.

In an embodiment, the data generation module 405 is further configuredto, prior to transforming coordinates of the 3D pose of the 21 keypoints into the 2D color image, transform the coordinates of the 3D poseof the 21 key points into coordinates in a coordinate system of the RGBDcamera to obtain relative coordinates of the 21 key points; andassociate the RGBD image data with the relative coordinates of the 21key points.

FIG. 5 shows a block diagram of an electronic device according to anembodiment of the present disclosure.

As shown in FIG. 5, the electronic device 11 includes one or moreprocessors 111 and a memory 112.

The processor 111 may be a central processing unit (CPU) or other formof processing unit with data processing and/or instruction executioncapabilities, and may control other components in the electronic device11 to perform desired functions.

The memory 112 may include one or more computer program products thatmay include various forms of computer-readable storage media, such as avolatile memory and/or a non-volatile memory. The volatile memory mayinclude, for example, a random access memory (RAM) and/or a cache, etc.The non-volatile memory may include, for example, a read only memory(ROM), a hard disk, a flash memory, etc. One or more computer programinstructions may be stored on the computer-readable storage medium, andthe processor 111 may execute the program instructions to implement thecontrol methods supporting dynamic intentions and/or other desiredfunctionality of the various embodiments of the present disclosuredescribed above. Various contents such as an input signal, a signalcomponent, a noise component, etc. may also be stored in the computerreadable storage medium.

In an example, the electronic device 11 may further include: an inputapparatus 113 and an output apparatus 114 interconnected by a bus systemand/or other form of connection mechanism (not shown).

For example, when the electronic device is a control apparatus 60supporting dynamic intentions, the input apparatus 113 may be amicrophone or a microphone array as described above, configured tocapture an input signal of a sound source. When the electronic device isa stand-alone apparatus, the input apparatus 113 may be a communicationnetwork connector configured to receive the collected input signal froma data generation apparatus 40.

Furthermore, the input apparatus 13 may include, for example, akeyboard, a mouse, etc.

The output apparatus 114 may output various information to the outside,including information of determined distance, information of directions,etc. The output apparatus 114 may include, for example, a display, aspeaker, a printer, and a communication network and remote outputapparatuses connected thereto.

Certainly, only some of the components of the electronic device 11related to the present disclosure are shown in FIG. 5 for simplicity,omitting components such as buses, input/output interfaces, etc. Inaddition, the electronic device 11 may include any other suitablecomponents depending on the particular application.

In addition to the methods and apparatuses described above, embodimentsof the present disclosure may also be a computer program productincluding computer program instructions that, when executed by aprocessor, cause the processor to perform steps in a method of traininga multi-task model according to various embodiments of the presentdisclosure as described in the “Exemplary Methods” section of thepresent specification above.

The computer program product may write program code for performingoperations of embodiments of the present disclosure in any combinationof one or more programming languages, including object-orientedprogramming languages such as Java, C++, etc. and conventionalprocedural programming languages, such as the “C” language or similarprogramming languages. The program code may execute entirely on the usercomputing apparatus, partly on the user apparatus, as a stand-alonesoftware package, partly on the user computing apparatus, partly on aremote computing apparatus, or entirely on the remote computingapparatus or server.

Furthermore, embodiments of the present disclosure may also be acomputer-readable storage medium having stored thereon computer programinstructions which, when executed by a processor, cause the processor toperform steps in a method of training a multi-task model according tovarious embodiments of the present disclosure as described in the“Exemplary Methods” section above of this specification.

The computer-readable storage medium may take any combination of one ormore readable media. The readable medium may be a readable signal mediumor a readable storage medium. The readable storage medium can include,for example, but not limited to, an electronic, magnetic, optical,electromagnetic, infrared, or semiconductor system, apparatus, orapparatus, or a combination of any of the above. More specific examples(a non-exhaustive list) of readable storage media include: an electricalconnection having one or more wires, a portable disk, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disk read-only memory (CD-ROM), an optical storageapparatus, a magnetic storage apparatus, or any suitable combination ofthe above.

While the general principles of the disclosure have been described abovein connection with specific embodiments, it is to be noted that theadvantages, strengths, effects, and the like set forth in thisdisclosure are merely exemplary and not limiting, and are not to beconstrued as necessarily required by the various embodiments of thedisclosure. Furthermore, the particular details disclosed above are forpurposes of example and explanation only and are not intended to belimiting, as the disclosure is not intended to be limited to theparticular details disclosed above.

The block diagrams of apparatuses, apparatuses, equipment, systemsreferred to in this disclosure are merely illustrative examples and arenot intended to require or imply that a connection, arrangement,configuration must be made in the manner shown in the block diagrams.The apparatuses, apparatus, equipment, systems may be connected,arranged, configured in any manner, as will be appreciated by thoseskilled in the art. Words such as “including”, “comprising”, “having”,and the like are open-ended terms that mean “including, but not limitedto”, and are used interchangeably therewith. The words “or” and “and” asused herein refer to the word “and/or” and may be used interchangeablytherewith unless the context clearly dictates otherwise. As used herein,the word “such as” means the phrase “such as, but not limited to”, andis used interchangeably therewith.

It is also noted that the components or steps may be disassembled and/orrecombined in the apparatus, apparatus and method of the presentdisclosure. Such decomposition and/or recombination should be consideredas equivalents of the present disclosure.

The previous description of the disclosed aspects is provided to enableany person skilled in the art to make or use the present disclosure.Various modifications to these aspects will be readily apparent to thoseskilled in the art, and the generic principles defined herein may beapplied to other aspects without departing from the scope of thedisclosure. Thus, the present disclosure is not intended to be limitedto the aspects shown herein but is to be accorded the widest scopeconsistent with the principles and novel features disclosed herein.

The foregoing description has been presented for purposes ofillustration and description. Moreover, this description is not intendedto limit the embodiments of the disclosure to the form disclosed herein.While a number of aspects of example and embodiments have been discussedabove, those of skill in the art will recognize certain variations,modifications, changes, additions and sub-combinations thereof.

1. A data generation method, comprising: importing a robot model by using a game engine; simulating an RGBD camera by a scene capture component in the game engine; controlling a human hand of the imported robot model to move within a field of view of the RGBD camera by using a joint control module in the game engine; acquiring RGBD image data by using the RGBD camera; and generating an annotated data set with coordinate of a key point according to the RGBD image data and coordinate information of a 3D pose of the key point.
 2. The method according to claim 1, wherein the importing a robot model by using a game engine comprises: importing every joint of a robot into the game engine in accordance with a joint stacking manner according to a robot 3D model.
 3. The method according to claim 1, wherein the simulating an RGBD camera by a scene capture component in the game engine comprises: capturing a scene by using the scene capture component to obtain image data; rendering the image data to a texture render target; selecting a capture data source to recombine color image data and depth image data in the image data to obtain recombined image data; and performing channel isolation of the color image data and unit unified processing of depth image data on the recombined image data so as to simulate the RGBD camera.
 4. The method according to claim 1, wherein the RGBD image comprises a 2D color image and a depth image; and the generating an annotated data set with coordinates of 21 key points according to the RGBD image data and coordinate information of a 3D pose of the 21 key points, comprises: transforming the coordinates of the 3D pose of the 21 key points into the 2D color image so as to annotate the 2D color image with a position of every key point; and obtaining depth information of every key point by using the depth image.
 5. The method according to claim 4, wherein prior to the transforming coordinates of the 3D pose of the 21 key points into the 2D color image, the method further comprises: transforming the coordinates of the 3D pose of the 21 key points into coordinates in a coordinate system of the RGBD camera to obtain relative coordinates of the 21 key points; and associating the RGBD image data with the relative coordinates of the 21 key points.
 6. A data generation apparatus, comprising: a model import module configured to import a robot model by using a game engine; a camera simulation module configured to simulate an RGBD camera by a scene capture component in the game engine; a joint control module configured to control a human hand of the imported robot model to move within a field of view of the RGBD camera; an image acquisition control module configured to acquire RGBD image data using the RGBD camera; and a data generation module configured to generate an annotated data set with coordinate of a key point according to the RGBD image data and coordinate information of the 3D pose of the key point.
 7. The apparatus according to claim 6, wherein the model import module is configured to import every joint of a robot into the game engine in accordance with a joint stacking manner according to a robot 3D model.
 8. The apparatus according to claim 7, wherein the camera simulation module is configured to capture a scene by using the scene capture component to obtain image data; render the image data to a texture render target; select a capture data source to recombine color image data and depth image data in the image data to obtain recombined image data; and perform channel isolation of color image data and unit unified processing of depth image data of the recombined image data so as to simulate an RGBD camera.
 9. A data generation apparatus, comprising: one or more processors; a memory configured to store one or more programs which, when executed by the one or more processors, cause the one or more processors to perform the data generation method of claim
 1. 10. A computer-readable storage medium, comprising a set of computer-executable instructions for performing the data generation method of claim 1 when the instructions are executed.
 11. The method according to claim 1, wherein the key point comprises 21 key points, and the annotated data set with coordinate of a key point comprises annotated data set with coordinates of 21 key points.
 12. The apparatus according to claim 6, wherein the key point comprises 21 key points, and the annotated data set with coordinate of a key point comprises annotated data set with coordinates of 21 key points. 